抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

[toc]

双网卡team 绑定

很多时候,由于生产环境业务的特殊需求,我们需要对服务器的物理网卡实施特殊的配置,从而来满足不同业务场景下对服务器网络的特殊性要求。如高并发的网络IO型业务,需要高速的网络IO,即对网卡的收收发包处理能力及网卡最大带宽速度等性能指标提出了更高的要求;事务处理型的系统,如金融交易系统、电商平台等,对物理网络线路、网卡等物理设备的稳定可靠性提出了更高的要求。
Linux系统中,可以通过多网卡绑定(bonding)和网络组(team)等技术,通过软件的方式来实现,来满足不同业务场景下的各种特殊需求。

用于kvm虚拟化环境的team绑定实例

配置team1

# vim /etc/sysconfig/network-scripts/ifcfg-team1
DEVICE=team1
BOOTPROTO=none
NAME=team1
ONBOOT=yes
DEVICETYPE=Team
BRIDGE="br-ext"
TEAM_CONFIG='{"runner": {"name": "loadbalance"}, "link_watch": {"name": "ethtool"}}'

bridge 配置
注意生产的br-ext 的ip网段 和 测试的br-ext的ip网段 不是同一个网段

# vim /etc/sysconfig/network-scripts/ifcfg-br-ext
DEVICE="br-ext"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="172.30.x.xx"
NETMASK="255.255.192.0"
#GATEWAY="172.30.x.x"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
DHCPV6C="no"
STP="on"
DELAY="0"

em2 配置

# vim /etc/sysconfig/network-scripts/ifcfg-em2
TYPE=Ethernet
NAME=em2
DEVICE=em2
ONBOOT=yes
TEAM_MASTER=team1
DEVICETYPE=TeamPort

em3 配置

# vim /etc/sysconfig/network-scripts/ifcfg-em3
TYPE=Ethernet
NAME=em3
DEVICE=em3
ONBOOT=yes
TEAM_MASTER=team1
DEVICETYPE=TeamPort

systctl 配置

# vim /etc/sysctl.conf
net.ipv4.conf.em1.rp_filter = 0
net.ipv4.conf.em2.rp_filter = 0
net.ipv4.conf.em3.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.br-ext.rp_filter = 0
net.ipv4.conf.team1.rp_filter = 0

rp_filter 简要说明

  • 0:表示不开启源检测;
  • 1:严格模式,根据数据包的源,通过查FIB表(Forward Information Table,可以理解为路由表),检查数据包进入端口是同时也是出端口,以视为最佳路径,如果不符合最佳路径,则丢弃数据包;
  • 2:松散模式,检查数据包的来源,查FIB表,如果通过任意端口都无法到达此源,则丢包。

启动并测试

# ifdown br-ext && ifdown team1
# ifup team1
# ifup br-ext
# ifdown em2 ; ifup em2
# ifdown em3 ; ifup em3
# sysctl -p 

评论